介紹
前篇介紹了一個cheerio的用法,如果喜歡使用Jquery的朋友可以使用,但是Puppeteer也提供了了一個不錯的evaluate操作可以用來抓取dom節點的數值
在Puppeteer 之前API有介紹 $與$$ 是單抓一個 dom或是複數的dom節點 ,無論哪一個抓到節點後,在Puppeteer要分析這個結底點的話,就把抓到的值放入 evaluate再去解析要分析的資料
比較容易搞混的是element是傳入的參數在第二個,第一個則是解析所以這邊的 element就是第一個參數的e
const element =page.$('selectdom');
const link = await page.evaluate(e => e.href, element);
如果是使用$$抓到的是陣列看是要整包傳入還是寫一個回圈 個別傳如element都可以
總結
cherrio是一個不錯的選擇對於習慣jquery 的朋友來說,但是在Puppeteer也提供了一個函數可以來處理,這邊再補充 evaluate可以直接傳回 Serializable ,如果今天有需求是傳回 Promise就使用 evaluateHandle